// 消息类型定义
export interface Message {
  /**
   * 消息ID
   */
  id: number;
  /**
   * 消息标题
   */
  title: string;
  /**
   * 消息内容
   */
  content: string;
  /**
   * 消息类型：1-系统消息，2-预约消息，3-问诊消息，4-紧急消息
   */
  type: number;
  /**
   * 消息状态：0-未读，1-已读
   */
  status: number;
  /**
   * 消息创建时间
   */
  createTime: string;
  /**
   * 消息发送者ID
   */
  senderId?: number;
  /**
   * 消息发送者名称
   */
  senderName?: string;
  /**
   * 消息发送者头像
   */
  senderAvatar?: string;
  /**
   * 其他可能的属性
   */
  [key: string]: any;
}

// 消息列表响应类型
export interface MessageListResponse {
  /**
   * 消息列表
   */
  list: Message[];
  /**
   * 总数
   */
  total: number;
  /**
   * 未读消息数
   */
  unreadCount: number;
}

// 消息类型映射
// 定义消息类型映射的接口
export interface MessageTypeInfo {
  label: string;
  color: string;
  icon: string;
}

// 使用Record类型使messageTypeMap可以接受number类型的索引
export const messageTypeMap: Record<number, MessageTypeInfo> = {
  1: {
    label: '系统消息',
    color: '#409EFF',
    icon: 'Bell'
  },
  2: {
    label: '预约消息',
    color: '#67C23A',
    icon: 'Calendar'
  },
  3: {
    label: '问诊消息',
    color: '#E6A23C',
    icon: 'ChatDotRound'
  },
  4: {
    label: '紧急消息',
    color: '#F56C6C',
    icon: 'Warning'
  }
}
